#include "mainscenne.h"
#include "ui_mainscenne.h"
#include <QPainter>
#include "mypushbutton.h"
#include<QTimer>
#include<QSound> //多媒体模块下的音效，需要在.pro 中加入 QT += multimedia 模块，详见帮助文档

MainScenne::MainScenne(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainScenne)
{
    ui->setupUi(this);

    //配置主场景

    //设置固定大小
    setFixedSize(320,588);
    //设置图标
    setWindowIcon(QIcon(":/res/Coin0001.png"));
    //设置标题
    setWindowTitle("翻金币");

    //退出按钮实现
    connect(ui->actionexit,&QAction::triggered,[=](){
        this->close();
    });

    //准备开始按钮的音效
    QSound* startSound=new QSound(":/res/BackButtonSound.wav",this);

    //开始按钮
    MyPushButton* startBtn=new MyPushButton(":/res/MenuSceneStartButton.png");
    startBtn->setParent(this);
    /*宽度：屏幕宽度一半减去按钮宽度的一半，高度：水边设置*/
    startBtn->move(this->width()*0.5-startBtn->width()*0.5,this->height()*0.7);

    //实例化选择关卡场景
    chooseScene=new ChooseLevelScene;

    /*监听选择关卡的返回按钮的信号*/
    connect(chooseScene,&ChooseLevelScene::chooseSceneBack,this,[=](){
        this->setGeometry(chooseScene->geometry());
        chooseScene->hide();//将选择的关卡场景 隐藏掉
        this->show();
    });

    connect(startBtn,&MyPushButton::clicked,[=](){
        qDebug()<<"点击开始";
        // 播放开始音效资源
        startSound->play();
        //弹起特效
        startBtn->zoom1();
        startBtn->zoom2();
        //延时进入到选择关卡场景中 自身隐藏
        QTimer::singleShot(500,this,[=](){
            chooseScene->setGeometry(this->geometry());//每次切换场景都保持位置一致
            this->hide();/*自身隐藏*/
            chooseScene->show();/*选择关卡场景*/
        });



    });
}

MainScenne::~MainScenne()
{
    delete ui;
}

void MainScenne::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPixmap pix;
    pix.load(":/res/PlayLevelSceneBg.png");
    painter.drawPixmap(0,0,this->width(),this->height(),pix);//使用外框的大小

    //画背景图标
    pix.load(":/res/Title.png");
    pix=pix.scaled(pix.width()*0.8,pix.height()*0.8);//缩放图片
    painter.drawPixmap(10,30,pix);
}
